#猜数字
# num = randint(1,20)
# while True:
#     guess = int(input("请输入一个数字："))
#     if guess > num:
#         print("太大了")
#     elif  guess < num:
#         print("太小了")
#     else:
#         print("猜对了")
#         break


#打印水仙花数
for num in range(100, 1000):
   a = num // 100
   b = (num // 10) % 10
   c = num % 10
   if num == a**3 + b**3 + c**3:
        print(num)


#打印九九乘法表
for i in range(1,9+1):
    for j in range(1,i+1):
        print("%d * %d = %d" % (j,i,i*j),end="\t")
    print()


#打印100以内的完数
# 循环输出1到100之间的数  range():含头不含尾
for i in range(1,101):   # 此时i代表1-100之间所有的数
    sum = 0              # 定义和的初始值
    for j in range(1,i): # 构造数字的因子
        if i % j == 0:   # 因子:能被i整除的是i的因子
            sum += j     # 只要是i的因子那么就相加
    if sum == i:         # 如果 因子相加的和  等于i本身那么这个数就是完数
        print(f"{i}是完数")


#打印100以内的质数
zhishu = []
for num in range(2,100):
    for n in range(2,num):
        if num % n == 0:
             break
    else:
        zhishu.append(num)
print("100以内质数:")
print(zhishu)


#打印斐波那契数列
a,b=0,1
fib=[]
for i in range(39):
    fib.append(b)
    a,b=b,a+b
print(fib)


# 打印菱形
for i in range(1,9,2):
    print(("*" * i).center(9)) # center字符串居中
for i in range(9,0,-2):
    print(("*" * i).center(9))
